sistema operativo

1. Inform.

Konputagailuaren oinarrizko programen multzoa, sistema informatikoaren jarduera eraginkorraz eta baliabideen kudeaketa orekatuaz arduratzen dena.

1. Inform.
Konputagailuaren oinarrizko programen multzoa, sistema informatikoaren jarduera eraginkorraz eta baliabideen kudeaketa orekatuaz arduratzen dena.

Sistema eragilea Edit

Egilea: Iñaki Alegria

SISTEMA ERAGILEA

Funtzioak

Sistema eragilea konputagailuaren oinarrizko softwarea da, hardwarea zuzenean kudeatzen duena. Beraz, hardwarearen eta aplikazioen arteko zubi-lana egiten du.

Burutzen dituen funtzioak bi ikuspuntutatik azter daitezke. Hardwarearen ikuspegitik, sistema eragilea oinarrizko baliabideak (prozesadorea, memoria, sarrera/irteerako gailuak, fitxategiak, sarea...) modu orekatuan eta eraginkorrean kudeatzen dituen software multzoa da.

Erabiltzailearen edota programatzailearen ikuspuntutik, berriz, sistema eragilea artekari bat da, makina-mailako eragiketak baino funtzio ahaltsuagoak eskaintzen dituena, konputagailuaren programazioa eta erabilera errazteko. Beraz, sistema eragilea makina birtual gisa ikus daiteke, makina erreala baino erabilerrazago den makina.

Sistema-deiak dira sistema eragilearen oinarrizko funtzioak, eta makina birtualaren agindu-multzotzat har daitezke. Sistema eragilearen kodea exekutatu egingo da programa batek sistema-dei bat egiten duenean (adib., irakurri fitxategi batetik lerro bat edo bidali mezu hau beste konputagailu horretara) edo kanpoko gailu batek eten bat bidaltzen dionean (adib., errore bat gertatu da edo idazketa bat bukatu da).

Osagaiak

Sistema eragileen osagai nagusiak hauek dira:

  • Gailuen programazioa eta kanpo-seinaleen edo etenen maneiua. Sarrera/irteerako sistema-deien inplementazioa dago atal honetan, baita etenak eta erroreak tratatzeko kodea ere.

  • Prozesadorearen kudeaketa. Prozesuen artean denbora banatzen du, beharrezkoa denean. Gehienetan, lehentasun dinamikoen bitartez kudeatzen da, momentu bakoitzean lehentasun handiena duen prozesuari prozesadorea esleituz.

  • Memoriaren kudeaketa, martxan dauden programen artean modu orekatuan banatzeko, eta memoria nahikoa ez denean memoria birtuala erabiltzeko. Kargatzailea da funtzio garrantzitsu bat, programa berriak memoriara ekartzea bideratzen baitu.

  • Fitxategien atzipen-kontrola, datuak modu kontrolatuan eta azkarrean atzi eta biltegira daitezen. Disko gogorraren kudeaketa (leku librea eta erabilia, fitxategi bakoitzaren datuak aurkitzea, katalogoen edo karpeten elementuak kontrolatzea...) da zeregin nagusia.

  • Komunikazioa, bai konputagailuaren barruan, martxan dauden prozesuen artean, bai kanpora begira, sarearen bitartez. Interneteko funtsa den TCP/IP protokolo multzoa sistema eragilearen barruan inplementatu ohi da.

  • Segurtasuna. Prozesuen artean eta erabiltzaileen artean konfidentzialtasuna mantendu behar da, definitzen diren atzipen-eskubideen arabera. Horrez gain, datuen integritateaz eta sareko trafiko arriskutsuaz arduratu behar du sistemak. Horretarako, zifratze/deszifratze funtzioak ditu barneratuta.

Osagai horiek funtzioak edo metodoak dira, baina ez dira programa nagusiak. Sistema eragilearen programa nagusia hasierako kargatzailea da, konputagailua piztean exekutatzen dena. Konputagailua piztean, firmwarearen bidez hasierako kargatzailea kokatzen da memorian, eta, hori exekutatuz, sistema eragilearen moduluak memoriara ekartzen dira. Hortik aurrera erabiltzaileak has daitezke lanean oinarrizko softwarea edo aplikazioak erabiliz.

Badaude sistema eragilearekin batera eskuratzen diren programa batzuk sistema eragileko parte ez direnak. Adibidez, testu-editoreak (emacs, vi...) edo Interneteko nabigatzailea (Mozilla-Firefox, Explorer, Opera...). Oinarrizko softwarearen osagaiak dira, baina ez sistema eragilearen parte, horiek erabili gabe sistemak lanean jarrai baitezake.

Oinarrizko ingurune grafikoa sistema eragilearen barruan edo kanpoan egon daiteke sistemaren arabera, baina kanpoan egoteak malgutasun handia ematen du.

Sistema eragileen egiturak

Sistema eragilea egin daitekeen software-proiektu konplexuena da. Modulu asko daude, konkurrentzian eta eraginkortasun handiz exekutatu behar dira, komunikazio/sinkronizazio eragiketak erabiltzen dituzte... Konplexutasun horri erantzun ahal izateko, hainbat egitura proposatu dira.

  • Monolitikoa. Eraginkortasunari ematen zaio lehentasuna, eta, ondorioz, ez dago egiturarik. Sistema zaharretan edo txikietan erabiltzen da, baina konplexutasuna handitu ahala egituraren bat behar da.

  • Geruzatan. Sistema hainbat geruzatan banatzen da, eta geruza bateko funtzioek ondoko beheko geruzako funtzioak baino ezin dituzte erabili. Egitura interesgarria da, baina zurrun samarra, eta eraginkortasunaren aldetik denbora-galerak eragiten ditu.

  • Bezero-zerbitzaria. Sistema eragilearen parte diren funtzio batzuk kanporatzen dira oinarrizko softwarera. Barneko funtzioak izango dira funtzio horien bezero, eta kanporatutako funtzioak hasieratik martxan dauden zerbitzarietan antolatzen dira. Honekin bideratzen dira sareko zerbitzuak eta sareko sistema eragileak.

  • Mikronukleoa. Aurreko joera areagotu egiten da, eta sistema eragilea ezinbesteko funtzio minimoetara laburtzen da.

Motak

Sistema eragile desberdinak ekoizten dira erabileraren arabera. Gehienok ezagutzen ditugun sistemak (adib., Linux edo WindowsXP) helburu orokorrekoak dira, baina badaude helburu berezikoak ere. Azken horien artean, sistema txertatuak edo kapsulatuak (embedded) daude, konputagailuak ez diren gainontzeko gailuetan erabiltzen direnak (telefonoan, autoan, hozkailuan, hegazkinean...).

Helburu orokorrekoen artean egin daitekeen banaketa argiena zerbitzarietako sistemak eta konputagailu pertsonaletako sistemak dira. Lehenak konplexuagoak dira, hainbat erabiltzailek batera lan egin dezaten prestatuta baitaude, eta, ondorioz, sinkronizazioa/komunikazioa sistema hauen funtsezko zereginak dira. Batera lan egite horri konkurrentzia deritzo prozesadore bakarra dagoenean, eta paralelotasuna, prozesadore bat baino gehiago dagoenean.

Konputagailu pertsonaletako sistemen ezaugarri nagusia interfaze grafikoa da, erabiltzaileen lana erraztea baita lehen helburua. Bestalde, sistema hauek sinpleagoak izan dira urtetan, baina zerbitzarien ezaugarriak hartzen joan dira. Horrela desagertu dira zerbitzarietako balio ez zuten sistemak (MS-DOS edo Windows95, adib.). Unix sistema edo, hobeto esanda, sistemen familia, berriz, zerbitzarietarako diseinatu zen, eta egokitu behar izan den arren ez da desagertu.

Historia eta bilakaera

Hasierako konputagailuetan ez zegoen sistema eragilerik, beraz, programazioa eta erabilera oso nekeza zen. 1960ko hamarkadaren hasieran sortu ziren lehen sistema eragileak. Garai haietan konputagailuak erraldoiak (mainframe) eta izugarri garestiak ziren, eta jardueren planifikazioa, eginkizunak sekuentzian jartzea, izan zen sistemen helburu nagusia. Konputagailua etengabe lanean eduki nahi zuten, baina lana elikatzea lan nekeza zen. IBM izan zen lehen sistema sendoak merkaturatu zituena (IBM OS/360, adib.). Konputagailu handietako mundu horretan sortu ziren prozesadorearen eta memoriaren kudeaketaren inguruko aurrerapen ezagunak: konkurrentzia, memoria birtuala...

Unix 1960ko hamarkadaren bukaera aldean sortu zen, txikiagoak ziren konputagailuetan (minicomputers) erabiltzeko. AT&T laborategietan garatu zen C lengoaia erabiliz. C-z programatuta egoteak oso garraiagarri bihurtu zuen sistema, eta hainbat makinetara hedatu zen (adib., PDP-11). Bide hori oso emankorra izan zen, eta Berkeleyko unibertsitatean bertsio berri bat egin zuten, Unix BSD, Interneteko prokoloak integratu zituen lehena. Unixetik eratorri dira sistema asko eta asko (Linux, FreeBSD, Xenix, HP-UX, SunOS, Solaris...).

Beste aldaketa garrantzitsu bat gertatu zen konputagailu pertsonalak edo etxeko konputagailuak (PC) etorri zirenean. Apple eta IBM sartu ziren lehian 1980ko hamarkadaren hasieran. Applek bere sistema sortu zuen, leihoak eta sagua barneratzen zituen lehen interfaze grafikoa zuena. IBMren sistema berandutu egin zen, eta artean ezezaguna zen Microsoft enpresari MS-DOS sistema erosi zion. Sistema hori garai horretan hedatu zen CP/M sistemaren bilakaera izan zen. Ez zen bereziki ona, baina oso hedapen handia izan zuen hainbat arrazoirengatik. Japonian hasi ziren PC klonikoak ekoizten, eta denek MS-DOS sistema integratu zuten. Gainera, Apple enpresak hirugarren parteko programak integratzen uzten ez zuenez, softwarearen garapena askoz azkarragoa zen MS-DOSerako, eta, horrela, PCetako merkatuaren jaun eta jabe bihurtu zen. MS-DOS sistemaren bilakaera izan zen Windows sistema pertsonala (Windows95 eta Windows98 izan ziren hedatuenak). Sistemak ez ziren oso onak, baina PC guztietan zetozen aurrekargatuta, eta software egokia aurkitzen zen ia edozein aplikaziotarako. Dena den, Microsoft asko atzeratu zen zerbitzarien teknologian sartzen, Windows2000 izan zen bere lehen sistema teknologikoki heldua, eta hortik sortu zen WindowsXP PCetarako. Gainera, Interneten aldeko apustua ere oso berandu egin zuten; beraz, zerbitzari gehienetan, Unix edo bere deribatuak ibili dira urte askoan.

Azken urteetan, Microsoft saiatu da zerbitzarien merkatuko lidergoa hartzen, baina ez du lortu, Unix motako sistemak dira nagusi esparru honetan.

Sistema eragileen bilakaeran ezin aipatu gabe utzi software librearen fenomenoa. Programatzaile askok Unix garatu zen garaian nagusi zen lankidetza eta partekatzea berreskuratu nahi izan zuten, eta GNU izeneko proiektu bat jarri zuten martxan. Oinarrizko software on asko eta sistema eragile moderno eta ahaltsu bat egin nahi zuten. Sistema eragilea atzeratu zen, baina bitartean, Linus Torvaldsek garatuta zuen Linux sistema, eta horrela sortu zen GNU-Linux sistema, banatzeko eta aldatzeko askatasunean oinarritzen dena. Askatasun hori dela eta, hainbat aldaera ditu, oinarrizko bi (Debian eta RedHat) eta bi horietatik sortutako asko (Ubuntu, Fedora, Mandriva, Gentoo, Slackware...). Antzeko bidetik sortu zen FreeBSD. Sistema horiek oso sendoak direnez eta multikonputagailu handietan oso ondo dabiltzanez, gaur egun munduko zerbitzari handienetako sistema eragileak dira. Zerbitzarietan sekulako arrakasta izan duten arren, PCetan oraindik ez dira asko hedatu, baina oso bilakaera interesgarria dute. Ubuntu bezalako banaketa erabilerrazekin, PCen merkatuan Microsofteko sistemen lehiakide bihurtu dira dagoeneko.